package com.util;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.Date;
import java.util.List;
import java.util.Random;
/**
 * 
 * <p>功能描述:公用类</p>
 * @author  <a href="mailto: zhuyoulong@gmail.com">朱有龙</a>
 * @create_date Oct 7, 2007
 * @version $ Revision: 1.0
 */
public class Utils {
	/**
	 * 
	 * <p>功能描述：生成随机数</p>
	 * @return
	 * @author:朱有龙
	 * @update: [日期YYYY-MM-DD][更改人姓名] [变更描述]
	 */
	public static Long random(int num){
		Random rand = new Random(); 
//		int array1[] = new int[10]; 
		Long i=(long)(Math.random()*num);
		return i;
	}
	
	/**
	 * 
	 * <p>功能描述：list的ID为Long型转换成字符串数组</p>
	 * @param list
	 * @return
	 * @author:朱有龙
	 * @update: [日期YYYY-MM-DD][更改人姓名] [变更描述]
	 */
	public static String listIdToString(List list){
		String str = "";
		if(list!=null){
			for(int i=0;i<list.size();i++){
				BigDecimal id = (BigDecimal)list.get(i);
				str += id;
				if(i!=list.size()-1){
					str +=",";
				}
			}
		}
		return str;
	}
	
	/**
	 * 处理数据格式转换问题,四舍五入
	 */
	public static DecimalFormat df2 = new DecimalFormat("####");

	public static Double formatDecimal(double v) {
		String str = String.valueOf(v);
		String return_str="0";
		String return_real = "0";
		int po = str.indexOf(".");
		if(po!=-1){
			return_real = str.substring(0, po);
			
			String sub = str.substring(po);
			if(sub.length()==2){
				return_str = str.substring(po+1);
				double return_doble = Double.valueOf(return_str);
				if( return_doble >= 5 ){
					return Double.valueOf(return_real)+1;
				}
			}
			else if(sub.length() >2 ){
				return_str = str.substring(po+1,po+2);
				double return_doble = Double.valueOf(return_str);
				if( return_doble >= 5 ){
					return Double.valueOf(return_real)+1;
				}
			}
			
			
		}
		return Double.valueOf(return_real);
//		return Double.valueOf(df2.format(v));
	}
	
	/**
	 * 
	 * <p>功能描述：生成订单号</p>
	 * @return
	 * @author:zhuyoulong
	 * @update:[日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public static String createOrderNo(){
		Date date = new Date();
		return DateUtils.getStringDate(date);
		
	}
	/**
	 * 
	 * <p>功能描述：第一个字母变小写</p>
	 * @param name
	 * @return
	 * @author:zhuyoulong
	 * @update:[日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public static String replaceFirstWord(String name){
		if(name==null){
			return "";
		}
		name = name.substring(0,1).toLowerCase()+name.substring(1);
		return name;
	}
	
	
}
